package com.sugon.entity;

import lombok.Data;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 入库记录实体
 * 表名 SPARE_PART_IN
 *
 * @author sugon
 * @date 2019-07-15 09:15:33
 */
@Data
public class SparePartInEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 添加人员
     */
    private String createUser;
    /**
     * 添加时间
     */
    private Date createDate;
    /**
     * 修改时间
     */
    private Date updateDate;
    /**
     * 修改人员
     */
    private String updateUser;


    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 库管员
     */
    private String stockKeeper;

    /**
     * 备注
     */
    private String remark;
    /**
     * 操作人名称
     */
    private String operationName;
    /**
     * 操作人
     */
    private String operation;
    /**
     * 使用工序
     */
    private String procUse;
    /**
     * 使用设备ID
     */
    private String useDevId;
    /**
     * 使用设备
     */
    private String useDevName;
    /**
     * 使用设备码
     */
    private String useDevCode;
    /**
     * 入库数量
     */
    private Integer inNum;
    /**
     * 单价
     */
    private String partPrice;
    /**
     * 单位
     */
    private String partUnit;
    /**
     * 规格
     */
    private String spec;
    /**
     * 名称
     */
    private String name;
    /**
     * 备件编码
     */
    private String partCode;
    /**
     * ERP编码
     */
    private String erpCode;

    /**
     * 货位ID
     */
    private String cargoLocation;
    /**
     * 货位名字
     */
    private String cargoLocationName;
    /**
     * 入库仓库ID（关联库SpareStorePos）
     */
    private String inStoreId;
    /**
     * 入库仓库
     */
    private String intStore;
    /**
     * 使用单位
     */
    private String useUnit;
    /**
     * 入库日期
     */
    private Date inDate;
    /**
     * 入库单号
     */
    private String inCode;
    /**
     * 来源 0:'随机备件',1:'自主修复',2:'厂家赠送',3:'旧设备拆除',4:'备件需求',5:'其他'
     */
    private Integer resources;

    /**
     * 来源为备件需求时，关联的备件需求项ID
     */
    private String partNeedsItemId;

    /**
     * ID
     */
    private String id;


    /**
     * 计划编码
     * 取值自备件需求计划明细中的BUSINESS_CODE字段
     */
    private String businessCode;

    /**
     * ERP备件入库记录ID
     */
    private Long erpInboundRecordId;

    private String createUserName;
    private String updateUserName;

    public void setValues(String[] a) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String[] values = new String[21];
        for (int i = 0; i < a.length; i++) {
            values[i] = a[i];
        }
        this.resources = values[0] == null ? 0 : Integer.parseInt(values[0].trim());
        this.inCode = values[1] == null ? "" : values[1].trim();
        this.inDate = new Date();
        this.useUnit = values[3] == null ? "" : values[3].trim();
        this.intStore = values[4] == null ? "" : values[4].trim();
        this.cargoLocation = values[5] == null ? "" : values[5].trim();
        this.partCode = values[6] == null ? "" : values[6].trim();
        this.name = values[7] == null ? "" : values[7].trim();
        this.spec = values[8] == null ? "" : values[8].trim();
        this.partUnit = values[9] == null ? "" : values[9].trim();
        this.partPrice = values[10] == null ? "" : values[10].trim();
        this.inNum = values[11] == null ? 0 : Integer.valueOf(values[11].trim());
        this.useDevCode = values[12] == null ? "" : values[12].trim();
        this.useDevName = values[13] == null ? "" : values[13].trim();
        this.procUse = values[14] == null ? "" : values[14].trim();
        this.operation = values[15] == null ? "" : values[15].trim();
        this.remark = values[19] == null ? "" : values[19].trim();
        this.createDate = values[20] == null ? null : sdf.parse(values[20].trim());
    }

    /*******************VO字段*********************/
    /**
     * 备件ID
     */
    private String spareId;
}
